package miiteen.customsportal.data.beans;

import java.util.ArrayList;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModelProperty;
import miiteen.customsportal.ct.beans.CTDataType;
import miiteen.hr.department.beans.HrDepartmentInfo;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.List;

import miiteen.common.json.jackson.LongSerialize;
import miiteen.common.utils.FieldMeta;
import miiteen.sys.base.bean.BasePo;

/**
 * Name: CustomsPortal_Data_Info
 * Des: -Bean
 * Author: yulp
 * Date: 2020-07-10
 */
public class DataInfo extends BasePo {

    public DataInfo() {
        this.list = new ArrayList<>();
        this.dataTypeList=new ArrayList<>();
    }

    @FieldMeta(name = "id")
    @ApiModelProperty(value = "id")
    private long id;

    @FieldMeta(name = "综合资料类型Id")
    @ApiModelProperty(value = "综合资料类型Id")
    private long dataTypeId;

    @FieldMeta(name = "综合资料类型")
    @ApiModelProperty(value = "综合资料类型")
    private String dataTypeName;

    @FieldMeta(name = "标题")
    @ApiModelProperty(value = "标题")
    private String title;

    @FieldMeta(name = "图片")
    @ApiModelProperty(value = "图片")
    private String image;

    @FieldMeta(name = "内容")
    @ApiModelProperty(value = "内容")
    private String content;

    @FieldMeta(name = "部门")
    @ApiModelProperty(value = "id")
    private String department;

    @FieldMeta(name = "作者")
    @ApiModelProperty(value = "作者")
    private String author;

    @FieldMeta(name = "发布日期")
    @ApiModelProperty(value = "发布日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date publishTime;

    @FieldMeta(name = "是否显示")
    @ApiModelProperty(value = "是否显示")
    private int isDisplay;

    @FieldMeta(name = "部门Id")
    @ApiModelProperty(value = "部门Id")
    private long deptId;

    @FieldMeta(name = "组织ID")
    @ApiModelProperty(value = "组织ID")
    private long organizeId;

    @FieldMeta(name = "创建时间")
    @ApiModelProperty(value = "创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @FieldMeta(name = "创建人id")
    @ApiModelProperty(value = "创建人id")
    private long createId;

    @FieldMeta(name = "创建人")
    @ApiModelProperty(value = "创建人")
    private String creator;

    @FieldMeta(name = "更新时间")
    @ApiModelProperty(value = "更新时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @FieldMeta(name = "目录类别")
    @ApiModelProperty(value = "目录类别")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date catalogCategory;


    @FieldMeta(name = "更新人id")
    @ApiModelProperty(value = "更新人id")
    private long updateId;

    @FieldMeta(name = "更新人")
    @ApiModelProperty(value = "更新人")
    private String updator;

    @FieldMeta(name = "是否删除")
    @ApiModelProperty(value = "是否删除")
    private int delState;

    @FieldMeta(name = "备注")
    @ApiModelProperty(value = "备注")
    private String remark;

    @FieldMeta(name = "预留字段1")
    @ApiModelProperty(value = "预留字段1")
    private int ylzd1;

    @FieldMeta(name = "预留字段2")
    @ApiModelProperty(value = "预留字段2")
    private String ylzd2;


    @FieldMeta(name="图片集合")
    @ApiModelProperty(value = "图片集合")
    private List<DataInfoImage> list;

    @FieldMeta(name="类型选择")
    @ApiModelProperty(value = "类型选择")
    private List<CTDataType> dataTypeList;

    @FieldMeta(name="科室")
    @ApiModelProperty(value = "科室")
    private List<HrDepartmentInfo> departMentInfoList;

    @FieldMeta(name="处室名称")
    @ApiModelProperty(value = "处室名称")
    private String parentDepartName;

    @FieldMeta(name="处室ID")
    @ApiModelProperty(value = "处室ID")
    private long parentId;

    @FieldMeta(name = "关联CustomsPortal_CT_DataType表 目录分类 0普通上传   1资料上传")
    private int typeYlzd2;

    @JsonSerialize(using = LongSerialize.class)
    public long getId() {
        return this.id;
    }

    public void setId(long value) {
        this.id = value;
    }

    @JsonSerialize(using = LongSerialize.class)
    public long getDataTypeId() {
        return this.dataTypeId;
    }

    public void setDataTypeId(long value) {
        this.dataTypeId = value;
    }

    public String getTitle() {
        return this.title;
    }

    public void setTitle(String value) {
        this.title = value;
    }

    public String getImage() {
        return this.image;
    }

    public void setImage(String value) {
        this.image = value;
    }

    public String getContent() {
        return this.content;
    }

    public void setContent(String value) {
        this.content = value;
    }

    public String getDepartment() {
        return this.department;
    }

    public void setDepartment(String value) {
        this.department = value;
    }

    public String getAuthor() {
        return this.author;
    }

    public void setAuthor(String value) {
        this.author = value;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public Date getPublishTime() {
        return this.publishTime;
    }

    public void setPublishTime(Date value) {
        this.publishTime = value;
    }

    public int getIsDisplay() {
        return this.isDisplay;
    }

    public void setIsDisplay(int value) {
        this.isDisplay = value;
    }

    @JsonSerialize(using = LongSerialize.class)
    public long getDeptId() {
        return this.deptId;
    }

    public void setDeptId(long value) {
        this.deptId = value;
    }

    @JsonSerialize(using = LongSerialize.class)
    public long getOrganizeId() {
        return this.organizeId;
    }

    public void setOrganizeId(long value) {
        this.organizeId = value;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public Date getCreateTime() {
        return this.createTime;
    }

    public void setCreateTime(Date value) {
        this.createTime = value;
    }

    @JsonSerialize(using = LongSerialize.class)
    public long getCreateId() {
        return this.createId;
    }

    public void setCreateId(long value) {
        this.createId = value;
    }

    public String getCreator() {
        return this.creator;
    }

    public void setCreator(String value) {
        this.creator = value;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public Date getUpdateTime() {
        return this.updateTime;
    }

    public void setUpdateTime(Date value) {
        this.updateTime = value;
    }

    @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
    public Date getCatalogCategory() {
        return catalogCategory;
    }

    public void setCatalogCategory(Date catalogCategory) {
        this.catalogCategory = catalogCategory;
    }

    @JsonSerialize(using = LongSerialize.class)
    public long getUpdateId() {
        return this.updateId;
    }

    public void setUpdateId(long value) {
        this.updateId = value;
    }

    public String getUpdator() {
        return this.updator;
    }

    public void setUpdator(String value) {
        this.updator = value;
    }

    public int getDelState() {
        return this.delState;
    }

    public void setDelState(int value) {
        this.delState = value;
    }

    public String getRemark() {
        return this.remark;
    }

    public void setRemark(String value) {
        this.remark = value;
    }

    public int getYlzd1() {
        return this.ylzd1;
    }

    public void setYlzd1(int value) {
        this.ylzd1 = value;
    }

    public String getYlzd2() {
        return this.ylzd2;
    }

    public void setYlzd2(String value) {
        this.ylzd2 = value;
    }

    public String getDataTypeName() {
        return dataTypeName;
    }

    public void setDataTypeName(String dataTypeName) {
        this.dataTypeName = dataTypeName;
    }

    public List<DataInfoImage> getList() {
        return list;
    }

    public void setList(List<DataInfoImage> list) {
        this.list = list;
    }

    public List<CTDataType> getDataTypeList() {
        return dataTypeList;
    }

    public void setDataTypeList(List<CTDataType> dataTypeList) {
        this.dataTypeList = dataTypeList;
    }

    public List<HrDepartmentInfo> getDepartMentInfoList() {
        return departMentInfoList;
    }

    public void setDepartMentInfoList(List<HrDepartmentInfo> departMentInfoList) {
        this.departMentInfoList = departMentInfoList;
    }

    public String getParentDepartName() {
        return parentDepartName;
    }

    public void setParentDepartName(String parentDepartName) {
        this.parentDepartName = parentDepartName;
    }

    public long getParentId() {
        return parentId;
    }

    public void setParentId(long parentId) {
        this.parentId = parentId;
    }

    public int getTypeYlzd2() {
        return typeYlzd2;
    }

    public void setTypeYlzd2(int typeYlzd2) {
        this.typeYlzd2 = typeYlzd2;
    }
}
